<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js(RegExp)对象</title>
	</head>
	<body>
		<div>"/" 这是正斜杠    "\"这是反斜杠</div>
		<div>"\" 反斜杠为转义字符</div>
		<script type="text/javascript">
			/* RegExp 对象表示正则表达式，它是对字符串执行模式匹配的强大工具。 */
			
				//var result = new RegExp(pattern,attributes);
			/* 参数 
				参数 pattern 是一个字符串，指定了正则表达式的模式或其他正则表达式。
				参数 attributes 是一个可选的字符串，包含属性 "g"、"i" 和 "m"，分别用于指定全局匹配、区分大小写的匹配和多行匹配。
					ECMAScript 标准化之前，不支持 m 属性。如果 pattern 是正则表达式，而不是字符串，则必须省略该参数。*/
				var result = new RegExp(/[0-9]/g);//可不必这样创建对象
				result = result.test("123");
				document.write(result + "</br>");//结果为: true
				
			/* 修饰符
				i	执行对大小写不敏感的匹配。
				g	执行全局匹配（查找所有匹配而非在找到第一个匹配后停止）。
				m	执行多行匹配。*/
				
			/* 方括号 方括号用于查找某个范围内的字符：
				[abc]	查找方括号之间的任何字符。
				[^abc]	查找任何不在方括号之间的字符。
				[0-9]	查找任何从 0 至 9 的数字。
				[a-z]	查找任何从小写 a 到小写 z 的字符。
				[A-Z]	查找任何从大写 A 到大写 Z 的字符。
				[A-z]	查找任何从大写 A 到小写 z 的字符。
				[adgk]	查找给定集合内的任何字符。
				[^adgk]	查找给定集合外的任何字符。
				(red|blue|green)	查找任何指定的选项。*/
			
			/* 元字符 元字符（Metacharacter）是拥有特殊含义的字符：
				.	查找单个字符，除了换行和行结束符。
				\w	查找单词字符。
				\W	查找非单词字符。
				\d	查找数字。
				\D	查找非数字字符。
				\s	查找空白字符。
				\S	查找非空白字符。
				\b	匹配单词边界。
				\B	匹配非单词边界。
				\0	查找 NUL 字符。
				\n	查找换行符。
				\f	查找换页符。
				\r	查找回车符。
				\t	查找制表符。
				\v	查找垂直制表符。
				\xxx	查找以八进制数 xxx 规定的字符。
				\xdd	查找以十六进制数 dd 规定的字符。
				\uxxxx	查找以十六进制数 xxxx 规定的 Unicode 字符。*/
				
			/* 量词
				n+	匹配任何包含至少一个 n 的字符串。
				n*	匹配任何包含零个或多个 n 的字符串。
				n?	匹配任何包含零个或一个 n 的字符串。
				n{X}	匹配包含 X 个 n 的序列的字符串。
				n{X,Y}	匹配包含 X 至 Y 个 n 的序列的字符串。
				n{X,}	匹配包含至少 X 个 n 的序列的字符串。
				n$	匹配任何结尾为 n 的字符串。
				^n	匹配任何开头为 n 的字符串。
				?=n	匹配任何其后紧接指定字符串 n 的字符串。
				?!n	匹配任何其后没有紧接指定字符串 n 的字符串。*/
				
			/* RegExp对象属性
				global	RegExp 对象是否具有标志 g。
				ignoreCase	RegExp 对象是否具有标志 i。
				lastIndex	一个整数，标示开始下一次匹配的字符位置。
				multiline	RegExp 对象是否具有标志 m。
				source	正则表达式的源文本。*/
				
			/* RegExp对象方法
				compile	编译正则表达式。
				exec	检索字符串中指定的值。返回找到的值，并确定其位置。
				test	检索字符串中指定的值。返回 true 或 false。*/
				
			/* 支持正则表达式的 String 对象的方法
				search	检索与正则表达式相匹配的值。
				match	找到一个或多个正则表达式的匹配。
				replace	替换与正则表达式匹配的子串。
				split	把字符串分割为字符串数组。*/
				
			/* test()方法 */
			
				var reg = /[1]{1}/g;//至少一个1
				var str = "0000";
				result = reg.test(str);
				document.write(result + "</br>");//结果为: false
				
				
				
				var str = "sdf<asdfgasdf,asdfasdffasd>a<sdf>.asdf";
				var htmlRegExp = new RegExp("\<.*?\>","i");
				var arrA = new Array();
				var m = htmlRegExp.exec(str);
				console.log(m)
				
		</script>
	</body>
</html>
